#include <iostream>


//
// Clases
//

class cMonitor {
	static int m_calls;

public:
	cMonitor() {}
	~cMonitor() {}
	void incident(void) {m_calls++;}
	void print() {std::cout << m_calls << std::endl;}
};

int cMonitor::m_calls = 0;


//
// Funciones Auxiliares
//

void MonitorCaller() {
	static cMonitor monitor;

	monitor.print();
}


//
// Main
//

int main(void) {

	cMonitor m;
	// Llamo 4 veces a incident()
	m.incident();
	m.incident();
	m.incident();
	m.incident();
	// Imprimo la cantidad de llamadas a incident()
	m.print();
	// Imprimo la cantidad de llamdas a incident desde otro objeto cMonitor	
	MonitorCaller();

	return 0;
}
